ML-李宏毅-Lecture 10-Attack

李宏毅《机器学习2022》课程学习笔记。

Preparation

【機器學習 2021】來自人類的惡意攻擊 -Adversarial Attack- -上- – 基本概念

Motivation

png
  • 你训练了很多神经网络。
  • 我们寻求在现实世界中部署神经网络。
  • 网络对那些用来欺骗他们的输入是否稳健?
    • 适用于垃圾邮件分类、恶意软件检测、网络入侵检测等。

​ 比如垃圾邮件的发送者识图绕开 EMAIL FILTER 系统的检测发送垃圾邮件。

Example of Attack

png

攻击在原始图像(Benign Image)[x1,x2,x3,...][x_1, x_2, x_3, ...] 中添加一些微小的向量 [Δx1,Δx2,Δx3,...][\Delta x_1, \Delta x_2, \Delta x_3, ...],得到 Attacked Image。

攻击分为两种:

  • Non-targeted
    • 让神经网络输出的不是”猫”
  • Targeted
    • 让神经网络输出某些特定的标签
png

​ 通过加入一些微小的、特定的噪声,使得神经网络识别结果完全不合人类逻辑。

png

​ 如果给图片随机添加噪声,并不会给神经网络造成太大的影响。

How to Attack

png

​ 对于 Non-targeted 任务,要求受攻击神经网络的输出 y=f(x)y=f(x) 与真实答案 y^\hat y 尽可能远,因此攻击神经网络的目标为:

x=argmind(x0,x)εL(x)x^*=arg \min_{d(x^0,x)\le \varepsilon}L(x)

​ 其中,损失函数 L(x)=e(y,y^)L(x)=-e(y,\hat y)

​ 对于 Targeted 任务,不仅要使受攻击神经网络的输出 y=f(x)y=f(x) 与真实答案 y^\hat y 尽可能远,还要使受攻击网络得到错误的输出 ytargety^{target}

L(x)=e(y,y^+e(y,ytarget))L(x)=-e(y, \hat y+e(y, y^{target}))

​ 所添加的信息 xx 往往与原图 x0x^0 差距要足够小,使人难以辨别,因此有附加条件 d(x0,x)εd(x^0,x)\le \varepsilonε\varepsilon 是人为设定的阈值。

Non-perceivable

png

​ 给图片添加的信息要是人难以感知(Non-perceivable)的,即 d(x0,x)εd(x^0,x)\le\varepsilon

  • 使用 L2-normd(x0,x)=Δx2=(Δx1)2+(Δx2)2+(Δx3)2...d(x^0,x)=||\Delta x||_2=(\Delta x_1)^2+(\Delta x_2)^2+(\Delta x_3)^2...
  • 使用 L-infinityd(x0,x)=Δx=max{Δx1,Δx2,Δx3,...}d(x^0,x)=||\Delta x||_{\infty}=\max\{|\Delta x_1|,|\Delta x_2|,|\Delta x_3|,...\}

​ 使用 L-infinty 更为合适:给每个像素一个很小的变化(人不易察觉)和对某些像素很大的变化(人容易察觉),其 L2-norm 可能相同,但 L-\infty 不同。

Attack Approach

png

​ 如何训练攻击神经网络?x=argmind(x0,x)εL(x)x^*=arg\min_{d(x^0,x)\le\varepsilon} L(x),使用梯度下降即可。对于 d(x0,x)εd(x^0,x)\le\varepsilon,作一个阈值限制。

png

有一个应用上述思想的简单算法为 FGSM [1412.6572] Explaining and Harnessing Adversarial Examples (arxiv.org),其特点在于:

  • 它只迭代一次
  • 它的学习率设为我们限制的距离大小
  • 它的梯度计算出来后会对每一个分量加上一个 sign 函数,使其成为正负 1
png

【機器學習 2021】來自人類的惡意攻擊 -Adversarial Attack- -下- – 類神經網路能否躲過人類深不見底的惡意?

White Box vs Black Box

png
  • 在之前的攻击中,我们知道网络参数 θ\theta
    • 这被称为白盒攻击
  • 但是多数情况你只能获得 online API 而不能获得模型参数。
  • 如果我们不开源模型,是否安全?
  • 否,黑盒攻击也是可能的。

Black Box Attack

png

​ 如果我们不知道受攻击网络,但是知道他们所用的训练集,我们可以根据训练集模仿一个受攻击网络(proxy network)。

​ 但如果我们不知道训练集呢?

png

​ 通过攻击相似网络得到的攻击神经网络,再攻击受攻击网络,也可以得到很好的攻击效果(受攻击)。

The attack is so easy!Why?

png

​ 攻击似乎很容易?不同的网络面对同一个数据集似乎拟合出相似的分布。

​ 被攻击不是神经网络的漏洞,是数据集的特性。

One pixel attack

png

​ 只改变一个像素就能进行模型攻击也是可能的。

Universal Adversarial Attack

png

​ 只用一张噪声图,就可以改变所有图片的识别结果。

Beyond Images

png

​ 攻击在语音识别和 NLP 中的应用:

Attack in the Physical World

png

​ 通过带上特制的眼镜,破坏人脸识别的结果。

  • 攻击者需要找到超越单个图像的扰动。
  • 扰动中相邻像素之间的极端差异不太可能被相机准确捕捉到。
  • 希望制作主要由打印机可再现的颜色组成的扰动。
png

​ 通过给路牌添加某些标记,改变自动驾驶识别车牌的结果。

png

​ 给 35mph 车牌的 3 延长一点,识别器就会认为是限速 85mph。

Adversarial Reprogramming

png

“Backdoor” in Model

png
- [[1804.00792\] Poison Frogs! Targeted Clean-Label Poisoning Attacks on Neural Networks (arxiv.org)](https://arxiv.org/abs/1804.00792)

​ 在训练集上就可以做到模型攻击。

png

Passive Defense

png

​ 事先给输入的图片加一点模糊操作,使得攻击信号减弱。

png

​ 但这也有可能影响原先的识别性能。

png

​ 使用图像压缩的方式/生成的方式减弱攻击信号。

Passive Defense - Randomization

png

​ 如果攻击者知道模型会事先作模糊操作,可能还会改进攻击操作使攻击更有效。通过随机化的方式使网络难以受攻击。

Proactive Defense

png

​ Proactive Defense 主动防御

​ 在训练的时候从攻击算法中修改数据进行训练。这也是数据增强的一种方式。但是对新的攻击算法不好使。

Concluding Remarks

png
  • 攻击:给定网络参数,攻击非常容易
  • 甚至黑匣子攻击也是可能的
  • 防御:被动和主动
  • 攻击/防御仍在发展